<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">

	<style type="text/css">
		@import url('../css/main.css');
	</style>

	<title>List of recommended GNU/Linux distributions for libreboot</title>
</head>

<body>

	<div class="section">
		<h1 id="pagetop">List of recommended GNU/Linux distributions for libreboot</h1>
			<p>
                Any distribution should work, so long as it uses kernel mode setting for graphics.
                We recommend using distributions that are entirely free software; most distros
                out there have proprietary software in them, but the ones that we recommend
                do not have proprietary software by default.
			</p>
            <p>
                Note: we are not the Free Software Foundation. The recommendations here
                consist of both FSF-endorsed and non-FSF-endorsed distros. Some of these
                distrubions wrongly call the whole system <em>Linux</em>. Despite libreboot's
                <a href="../../gnu/">stance against the GNU project</a>, we still agree
                with the free software philosophy and we still want you to call the
                whole system <em>GNU/Linux</em>, since this is the technically correct
                name for the system.
            </p>
            <h2>FSF-endorsed distros</h2>
            <p>
                Many FSF-endorsed GNU/Linux distributions are considered unfit
                for general use by the libreboot project.
                You can read about their problems here:<br/>
                <a href="../fsf-distros/">Why we can't endorse many FSF-endorsed distributions</a>.
            </p>
            <p>
                <a href="../gnulinux/grub_boot_installer.html">How to install GNU/Linux on a libreboot system</a>
            </p>
            <p>
                <a href="../">Back to main index</a>
            </p>
	</div>

	<div class="section">

        <h2>Debian</h2>
            <p>
                Most of the developers use it (Leah Rowe always uses testing
                releases of Debian). We recommend Debian stable releases for
                most users. If you want to do development, e.g. libreboot
                development, then you should use the testing release of Debian.
            </p>
            <p>
                Debian by default comes without non-free software in the default
                installation or repos. There is a non-free repo that's not added
                by default. Just avoid adding this, and you should have a fully
                free system.
            </p>
            <p>
                <a href="https://www.debian.org/">Visit the Debian website</a>
            </p>
        <h2>Devuan</h2>
            <p>
                Devuan is a fork of Debian that does not use the controversial
                <em>systemd</em> init system.
            </p>
            <p>
                See: <a href="https://www.devuan.org/os/init-freedom/">https://www.devuan.org/os/init-freedom/</a>.
            </p>
            <p>
                <a href="https://www.devuan.org/">Visit the Devuan website</a>
            </p>
        <h2>Gentoo</h2>
            <p>
                Gentoo is a bleeding edge <em>source based</em> distribution.
                It provides only source code in its repositories, and the <em>portage</em>
                package manager automatically compiles the source code for you
                along with all dependencies, when installing packages. This makes
                the distribution extremely configurable. It's common in Gentoo
                to see 10, 20 or even 30 versions of the same package, with different
                patches, and you can mix and match.
            </p>
            <p>
                Gentoo has a page about libreboot (WARNING: not guaranteed to be
                up to date with changes from libreboot or Gentoo itself):<br/>
                <a href="https://wiki.gentoo.org/wiki/Installation_on_libreboot">https://wiki.gentoo.org/wiki/Installation_on_libreboot</a>
            </p>
            <p>
                Gentoo provides non-free software by default, but you can configure
                the package manager when installing it, so that it doesn't let
                you install non-free software. This way, you will end up with a 
                completely free system.
            </p>
            <p>
                Modify your <em>/etc/portage/make.conf</em> with the relevant license groups. See:
                <a href="https://wiki.gentoo.org/wiki/License_Groups#Metasets">https://wiki.gentoo.org/wiki/License_Groups#Metasets</a>
                - and <a href="https://wiki.gentoo.org/wiki//etc/portage/make.conf#ACCEPT_LICENSE">https://wiki.gentoo.org/wiki//etc/portage/make.conf#ACCEPT_LICENSE</a>
                - configure the <em>ACCEPT_LICENSE</em> string accordingly. if you plan using <a href="https://wiki.gentoo.org/wiki/Overlay">overlays</a> it is also 
		recommended that apart from the FREE metaset, you also add GPL to the variable ACCEPT_LICENSE as in some overlays there are packages that define that
		they are using the GPL license but not what version of the GPL They are using.
            </p>
            <p>
                You also need to deblob your kernel: For that you need to add the
deblob useflag in the USE variable at /etc/portage/make.conf see
<a href="https://wiki.gentoo.org/wiki/Installation_on_libreboot#Let_portage_remove_the_blobs">https://wiki.gentoo.org/wiki/Installation_on_libreboot#Let_portage_remove_the_blobs</a>
, so that when you install the source code of the kernel it is
emerged without the blobs, however this will only work if your
objective is to install the hardened-sources, ck-sources, or the
rt-sources kernel, so if you plan to install any other kernel such as
gentoo-sources (the recommended kernel by the Gentoo Project) or any
other kernel listed at <a href="https://wiki.gentoo.org/wiki/Kernel/Overview">https://wiki.gentoo.org/wiki/Kernel/Overview</a>
you have two options:</p>
<ol>
	<li>
<p>Creating a local overlay (repository) with a modified copy
	of your desired kernel’s ebuild so that the deblob useflag does
	work in it (This may not work if you use the kernel git-sources, as
	of git-sources unstable, inconsistent, bleeding-edge nature it may
	work at some point and in other not, also pf-sources won’t work
	with this method as its versioning classification does conflict with
	Gentoo’s internal script for controlling the deblobbing proccess,
	however if you want to mess with the script it is located inside the
	file at /usr/portage/eclass/kernel-2.eclass). For this first create
	a local overlay following the steps defined at
	<a href="https://wiki.gentoo.org/wiki/Overlay/Local_overlay">https://wiki.gentoo.org/wiki/Overlay/Local_overlay</a>
	, next create the directory of your kernel at
	/usr/local/portage/sys-kernel/your-kernel-dir, after that copy the
	ebuild of your desired kernel from
	/usr/portage/sys-kernel/your-kernel-dir/your-kernel.ebuild to
	usr/local/portage/sys-kernel/your-kernel-dir/your-kernel.ebuild,
	then open it in an editor and add a line with K_DEBLOB_AVAILABLE=”1”
	between the variable EAPI and the line inherit kernel-2, and finally
	run with root permissions the command <b>ebuild
	/usr/local/portage/sys-kernel/your-kernel-dir/your-kernel.ebuild
	manifest</b> <span style="font-weight: normal">; after that if you
	had already added </span><b>deblob</b> <span style="font-weight: normal">to
	your useflags you can continue with the kernel installation as you
	normally would.</span></p>
	</li><li>
<p>Adding an exception to the licences that are accepted for
	your desired kernel so that portage allows installing the source
	code of your desired kernel even if it has blobs, and after that
	applying the linux-libre deblob scripts by yourself and by doing so
	removing the blobs. For this first create a file in
	/etc/portage/package.license with the following content
	<b>sys-kernel/your-kernel-sources freedist</b> <span style="font-weight: normal">,
	next emerge (install) the source code of your kernel with portage,
	after that go to /usr/src/linux and download the proper </span><b>deblob-check</b> <span style="font-weight: normal">
	and </span><b>deblob-version</b> <span style="font-weight: normal"> scripts for your kernel version from
	<a href="http://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/">http://www.fsfla.org/svn/fsfla/software/linux-libre/releases/tags/</a>,
	then make them executable, and finally set the </span><b>EPYTHON</b>
	<span style="font-weight: normal">variable to python2.7 and execute
	with root permissions the script </span><b>deblob-version</b> <span style="font-weight: normal">; after that continue
	with the kernel installation as you normally would. </span>
	</p>
</li></ol>
<p><span style="font-weight: normal">It is also possible to install
the  linux-libre sources following the ins</span><span style="font-weight: normal">tructions
at
<a href="https://wiki.gentoo.org/wiki/Installation_on_libreboot#Use_linux-libre_sources">https://wiki.gentoo.org/wiki/Installation_on_libreboot#Use_linux-libre_sources</a></span>
however this is not recommended as portage would not be able to
manage it.</p>
            <p>
                <a href="https://gentoo.org/">Visit the Gentoo website</a>
            </p>
        <h2>Parabola GNU/Linux</h2>
            <p>
                Fully free bleeding edge distribution, based on the <em>Arch</em> distribution.
                Good for saavy users and developers in general (some libreboot developers
                use this).
            </p>
            <p>
                Arch users, refer to the <a href="https://wiki.parabola.nu/Migration_from_the_GNU/Linux_distribution_of_Arch">Parabola migration guide</a>.
            </p>
            <p>
               <a href="https://www.parabola.nu/">Visit the Parabola website</a> 
            </p>

			<p><a href="#pagetop">Back to top of page</a></p>
			
	</div>

	<div class="section">

		<p>
			Copyright &copy;  2016 Leah Rowe &lt;info@minifree.org&gt;<br/>
			Permission is granted to copy, distribute and/or modify this document
			under the terms of the Creative Commons Attribution-ShareAlike 4.0 International license
			or any later version published by Creative Commons;
			
			A copy of the license can be found at <a href="../cc-by-sa-4.0.txt">../cc-by-sa-4.0.txt</a>
		</p>

		<p>
			Updated versions of the license (when available) can be found at
			<a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode">https://creativecommons.org/licenses/by-sa/4.0/legalcode</a>
		</p>

		<p>
			UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
			EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
			AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
			ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
			IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
			WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
			PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
			ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
			KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
			ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
		</p>
		<p>
			TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
			TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
			NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
			INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
			COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
			USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
			ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
			DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
			IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
		</p>
		<p>
			The disclaimer of warranties and limitation of liability provided
			above shall be interpreted in a manner that, to the extent
			possible, most closely approximates an absolute disclaimer and
			waiver of all liability.
		</p>
		
	</div>

</body>
</html>
